From: Cosimo Cecchi Date: Sat, 16 Feb 2013 21:17:11 +0000 (-0500) Subject: pressure-barrier: don't discard grabbed events when overview is grabbing X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4807 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=53a595885aa2a99a9c372d5ec063888beee507e5;p=gnome-shell.git pressure-barrier: don't discard grabbed events when overview is grabbing Since we still want to trigger the message tray in that case. https://bugzilla.gnome.org/show_bug.cgi?id=693987 --- diff --git a/js/ui/layout.js b/js/ui/layout.js index f6443edbc..d181bf6ac 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -1195,10 +1195,16 @@ const PressureBarrier = new Lang.Class({ }, _onBarrierHit: function(barrier, event) { - // Throw out all events where the pointer was grabbed, - // as the client that grabbed the pointer expects to have - // complete control over it. - if (event.grabbed) + // Throw out all events where the pointer was grabbed by another + // client, as the client that grabbed the pointer expects to have + // complete control over it + if (event.grabbed && Main.modalCount == 0) + return; + + let isOverview = ((Main.keybindingMode & (Shell.KeyBindingMode.OVERVIEW)) != 0); + + // Throw out events where the grab is taken by the overview visible + if (event.grabbed && !isOverview) return; let slide = this._getDistanceAlongBarrier(event);